package top.infopub.mgr.mkt.service;

import java.text.ParseException;
import java.util.List;

import com.github.pagehelper.Page;

import top.infopub.mgr.mkt.domain.BidSubsidyDomain;
import top.infopub.mgr.mkt.jsonvo.AfterSummaryJsonVo;
import top.infopub.mgr.mkt.vo.BidSubsidyVo;
import top.infopub.model.mkt.BidSubsidy;
import top.infopub.model.mkt.BidSubsidyAtt;
import top.infopub.generic.GenericService;
import top.infopub.model.mkt.ProjectAttachment;
import top.infopub.model.mkt.ProjectInfo;
import top.infopub.security.vo.AuthorizationVO;

public interface BidSubsidyService extends GenericService<BidSubsidy, String> {

    /**
     * 根据条件查询投标补贴申请分页数据
     * @param bidSubsidyVo
     * @return
     * @see
     */
    Page<BidSubsidyDomain> selectByDomainWhere(Page<BidSubsidyDomain> page,BidSubsidyVo bidSubsidyVo) throws ParseException;

    /**
     * 根据条件查询-我审批的投标补贴申请分页数据
     * @param bidSubsidyVo
     * @return
     * @see
     */
    Page<BidSubsidyDomain> selectMyCheckByDomainWhere(Page<BidSubsidyDomain> page,BidSubsidyVo bidSubsidyVo);

    /**
     * 新增
     */
    void saveBidSubsidy(BidSubsidy bidSubsidy,List<BidSubsidyAtt> bidSubsidyAtts);

    /**
     * 详情
     */
    BidSubsidyVo queryById(String id);

    void updateById(BidSubsidy subsidy, List<ProjectAttachment> attachmentList, Integer submitType, String bodyStr, AuthorizationVO vo);

    AfterSummaryJsonVo queryDetailById(String id);

    List<ProjectInfo> optionalProjectName();

    ProjectInfo selectProjectById(String proCode);

    void insertById(BidSubsidy subsidy, List<ProjectAttachment> attachmentList, Integer submitType, String bodyStr, AuthorizationVO vo, AfterSummaryJsonVo aftSummJson);
}
